# 导入pandas,获取dataframe，便于计算
import pandas as pd
# 导入sqlalchemy，用于连接数据库
from sqlalchemy import create_engine

# 创建数据库连接引擎
# 数据库类型+数据库驱动://数据库用户名:数据库密码@主机名:端口号/数据库名称
con = create_engine('mysql+pymysql://root:123456@localhost:3306/dbm')
# 读取数据库中的movie表
df = pd.read_sql('select * from movies', con=con)
# print(df)
# 因为表格中有一些字段值是以逗号或者空格连接的，所以定义一个函数，用来处理这些字段值,将所有数据转换成一个列表
def typeList1(type):
    # 取出该列值
    type = df[type].values
    # 对type对象的每一个值进行分割，存储为列表
    type = list(map(lambda x: x.split(','), type))
    typeList = []
    # type的结果为[[…],[…],…]，故要嵌套循环两次，把所有值存储在一个列表中
    for i in type:
        for j in i:
            typeList.append(j)
    return typeList

def typeList2(type):
    # 取出该列值
    type = df[type].values
    # 对type对象的每一个值进行分割，存储为列表
    type = list(map(lambda x: x.split('  '), type))
    typeList = []
    # type的结果为[[…],[…],…]，故要嵌套循环两次，把所有值存储在一个列表中
    for i in type:
        for j in i:
            typeList.append(j)
    return typeList

# 测试，使用typeList(type)函数
# print(typeList1('directors'))
# print(typeList2('lang'))
